package ds.hashmap;

/**
 * hashMap
 * @author 10843
 */
public class MyHashMap {
        /**
         * 定义一个长度为10的数组
         */
        ListNode[] map = new ListNode[10];

        int size;


        public void put(String key,String value){
            if(size>=map.length*0.75){
                System.out.println("数组需要扩容");
                return;
            }
            // 随机算出下标位置
            int index = Math.abs(key.hashCode())%map.length;

            ListNode ln = map[index];
            if(ln==null){
                // 定义一个头节点
                Node head = new Node(key,value,null);
                // 挂载头节点
                ln.head = head;
                // 把该节点放入数组中
                map[index] = ln;
                size++;
            }
            // 该位置有值
            else{
                ln.addNode(key,value);
            }


        }

        public String get(String key){
            // 随机算出下标位置
            int index = Math.abs(key.hashCode())%map.length;
            ListNode ln = map[index];
            if(ln==null) return null;

            return ln.getVal(key);
        }


    public static void main(String[] args) {

    }
}
